using System.ComponentModel.DataAnnotations;
using SupplierCustomerManagement.Domain.Entities;

namespace SupplierCustomerManagement.Domain.ReportForms
{
    /// <summary>
    /// 生产统计汇总实体
    /// 用于存储生产统计的汇总数据
    /// </summary>
    public class ProductionSummary : BaseEntity
    {
        /// <summary>
        /// 统计日期
        /// </summary>
        [Required]
        public DateTime ReportDate { get; set; }

        /// <summary>
        /// 羊场ID
        /// </summary>
        [Required]
        public int FarmId { get; set; }

        /// <summary>
        /// 品种
        /// </summary>
        [StringLength(50)]
        public string? Breed { get; set; }

        /// <summary>
        /// 总母羊数
        /// </summary>
        public int? TotalEwes { get; set; }

        /// <summary>
        /// 配种母羊数
        /// </summary>
        public int? BreedingEwes { get; set; }

        /// <summary>
        /// 怀孕母羊数
        /// </summary>
        public int? PregnantEwes { get; set; }

        /// <summary>
        /// 产羔母羊数
        /// </summary>
        public int? LambingEwes { get; set; }

        /// <summary>
        /// 总产羔数
        /// </summary>
        public int? TotalLambs { get; set; }

        /// <summary>
        /// 活羔数
        /// </summary>
        public int? LiveLambs { get; set; }

        /// <summary>
        /// 配种率
        /// </summary>
        public decimal? BreedingRate { get; set; }

        /// <summary>
        /// 怀孕率
        /// </summary>
        public decimal? PregnancyRate { get; set; }

        /// <summary>
        /// 产羔率
        /// </summary>
        public decimal? LambingRate { get; set; }

        /// <summary>
        /// 存活率
        /// </summary>
        public decimal? SurvivalRate { get; set; }
    }
}
